/**
 * Copyright (c) 2018 软唐 All rights reserved.
 * <p>
 * https://www.softtown.cn
 * <p>
 * 版权所有，侵权必究！
 */

package com.softtown.modules.sys.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 系统数据
 *
 * @author Ding Ya Yong
 * @since 1.0.0
 */
@Data
@ApiModel(value = "系统数据")
public class SystemDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "系统时间")
    private Long sysTime;

    @ApiModelProperty(value = "操作系统")
    private String osName;

    @ApiModelProperty(value = "系统架构")
    private String osArch;

    @ApiModelProperty(value = "系统版本")
    private String osVersion;

    @ApiModelProperty(value = "系统语言")
    private String userLanguage;

    @ApiModelProperty(value = "工作目录")
    private String userDir;

    @ApiModelProperty(value = "系统内存")
    private Long totalPhysical;

    @ApiModelProperty(value = "剩余内存")
    private Long freePhysical;

    @ApiModelProperty(value = "内存使用")
    private BigDecimal memoryRate;

    @ApiModelProperty(value = "CPU核数")
    private Integer processors;

    @ApiModelProperty(value = "JVM信息")
    private String jvmName;

    @ApiModelProperty(value = "JVM版本")
    private String javaVersion;

    @ApiModelProperty(value = "JAVA_HOME")
    private String javaHome;

    @ApiModelProperty(value = "JVM占用内存")
    private Long javaTotalMemory;

    @ApiModelProperty(value = "JVM空闲内存")
    private Long javaFreeMemory;

    @ApiModelProperty(value = "JVM最大内存")
    private Long javaMaxMemory;

    @ApiModelProperty(value = "当前用户")
    private String userName;

    @ApiModelProperty(value = "CPU负载")
    private BigDecimal systemCpuLoad;

    @ApiModelProperty(value = "系统时区")
    private String userTimezone;
}
